From 5faaf408fbdadcd12fc2cb8bf0110282e3f067ad Mon Sep 17 00:00:00 2001 From: "djm@kirby.fc.hp.com" Date: Fri, 29 Jul 2005 11:52:33 -0700 Subject: [PATCH] Updates to conform to latest xen-unstable Fix ns16550 to again handle rx2600 console defaults Signed-off-by Kevin Tian --- xen/arch/ia64/pcdp.c | 8 ++++---- xen/arch/ia64/xenmisc.c | 16 ++++++++++++++++ xen/arch/ia64/xensetup.c | 19 ++++++++++++------- 3 files changed, 32 insertions(+), 11 deletions(-) diff --git a/xen/arch/ia64/pcdp.c b/xen/arch/ia64/pcdp.c index 9cae51129a..cab5eb2ff5 100644 --- a/xen/arch/ia64/pcdp.c +++ b/xen/arch/ia64/pcdp.c @@ -24,11 +24,11 @@ static int __init setup_serial_console(struct pcdp_uart *uart) { #ifdef XEN - extern struct ns16550_defaults ns16550_com; - ns16550_com.baud = uart->baud; - ns16550_com.io_base = uart->addr.address; + extern struct ns16550_defaults ns16550_com1; + ns16550_com1.baud = uart->baud; + ns16550_com1.io_base = uart->addr.address; if (uart->bits) - ns16550_com.data_bits = uart->bits; + ns16550_com1.data_bits = uart->bits; return 0; #else #ifdef CONFIG_SERIAL_8250_CONSOLE diff --git a/xen/arch/ia64/xenmisc.c b/xen/arch/ia64/xenmisc.c index a13eb442c7..4b76af8cab 100644 --- a/xen/arch/ia64/xenmisc.c +++ b/xen/arch/ia64/xenmisc.c @@ -177,6 +177,22 @@ void show_registers(struct pt_regs *regs) printf("*** ADD REGISTER DUMP HERE FOR DEBUGGING\n"); } +int is_kernel_text(unsigned long addr) +{ + extern char _stext[], _etext[]; + if (addr >= (unsigned long) _stext && + addr <= (unsigned long) _etext) + return 1; + + return 0; +} + +unsigned long kernel_text_end(void) +{ + extern char _etext[]; + return (unsigned long) _etext; +} + /////////////////////////////// // from common/keyhandler.c /////////////////////////////// diff --git a/xen/arch/ia64/xensetup.c b/xen/arch/ia64/xensetup.c index 8553e2bcf4..7bcc2e7b82 100644 --- a/xen/arch/ia64/xensetup.c +++ b/xen/arch/ia64/xensetup.c @@ -130,7 +130,13 @@ void early_cmdline_parse(char **cmdline_p) return; } -struct ns16550_defaults ns16550_com = { +struct ns16550_defaults ns16550_com1 = { + .data_bits = 8, + .parity = 'n', + .stop_bits = 1 +}; + +struct ns16550_defaults ns16550_com2 = { .data_bits = 8, .parity = 'n', .stop_bits = 1 @@ -159,12 +165,11 @@ void start_kernel(void) /* We initialise the serial devices very early so we can get debugging. */ if (running_on_sim) hpsim_serial_init(); else { - ns16550_com.io_base = 0x3f8; - ns16550_com.irq = 4; - ns16550_init(0, &ns16550_com); - ns16550_com.io_base = 0x2f8; - ns16550_com.irq = 3; - ns16550_init(1, &ns16550_com); + ns16550_init(0, &ns16550_com1); + /* Also init com2 for Tiger4. */ + ns16550_com2.io_base = 0x2f8; + ns16550_com2.irq = 3; + ns16550_init(1, &ns16550_com2); } serial_init_preirq(); -- 2.30.2